// pages/checkFace/checkFace.js
var app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    fileList:[],
    isSearch:false,
    file:[],
    noData:false,
    isSearching:false
  },
  // 上传头像
  afterRead(e){
    console.log(e.detail)
    let {file} = e.detail
    this.setData({
      file,
      isSearch:true
    })
    this.getData(file.url)
  },
  //转base64
  base64({url,type}){
    return new Promise((resolve, reject) => {
      wx.getFileSystemManager().readFile({
        filePath: url, //选择图片返回的相对路径
        encoding: 'base64', //编码格式
        success: res => {
          resolve('data:image/' + type.toLocaleLowerCase() + ';base64,' + res.data)
        },
        fail: res => reject(res.errMsg)
      })
    })
  },
  // 获取人脸识别数据
  getData(url){
    const that = this
    let token = wx.getStorageSync('token')
    that.setData({
      isSearching:true
    })
    that.base64({
      url,
      type:'png'
    })
    .then(res=>{
      wx.request({
        url:app.globalData.host+'Competition/aipImageSearch',
        data:{image:res,token,compet_id:that.data.matchId},
        method:'POST',
        success(res){
          console.log(res)
          wx.setStorageSync('imgObj','')
          that.setData({
            isSearch:false,
            isSearching:false
          })
          if(res.data.data!=''||res.data.data.length!=0){
            let imgObj = JSON.stringify(res.data.data)
            wx.setStorageSync('imgObj', imgObj)
            wx.navigateTo({
              url: '/test/pages/searchList/searchList',
            })
            return
          }else{
            that.setData({
              noData:true
            })
          }
        },
        fail(err){
          console.log(err)
        }
      })
    })
   
  },
  // 重新识别
  reCheck(){
    if(this.data.isSearching){
      wx.showToast({
        title: '正在为您匹配相似照片,请耐心等候',
        icon:'none'
      })
      return
    }
    wx.setStorageSync('imgObj','')
    this.setData({
      file:[],
      isSearch:false,
      noData:false
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.setData({
      matchId:options.matchId
    })
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})